/**
 * 当synchronized修饰普通的方法的时候,如果有多线程来访问同一个对象的方法,那么同一时刻
 * 只能拥有一个线程可以获取到该对象的锁,也就意味着同一时刻只有一个线程在执行,其他的线程处于等待的状态。
 *
 * 如果synchronized修饰的是static的方法,那么锁定的是Class类型的对象,该Class对象被所有的对象共享。
 *
 *
 * javap -c 类
 * javap -v 类
 * javap 类
 */
public class Demo4 {

    private Object obj = new Object();

    public void test() {
        synchronized (obj) {
            System.out.println("hello world3");
            throw new RuntimeException();
        }
    }
}
